29 research outputs found
An Approach to Model Checking of Multi-agent Data Analysis
The paper presents an approach to verification of a multi-agent data analysis
algorithm. We base correct simulation of the multi-agent system by a finite
integer model. For verification we use model checking tool SPIN. Protocols of
agents are written in Promela language and properties of the multi-agent data
analysis system are expressed in logic LTL. We run several experiments with
SPIN and the model.Comment: In Proceedings MOD* 2014, arXiv:1411.345
Autotuning Parallel Programs by Model Checking
The paper presents a new approach to autotuning data-parallel programs. Autotuning is a search for optimal program settings which maximize its performance. The novelty of the approach lies in the use of the model checking method to find the optimal tuning parameters by the method of counterexamples. In our work, we abstract from specific programs and specific processors by defining their representative abstract patterns. Our method of counterexamples implements the following four steps. At the first step, an execution model of an abstract program on an abstract processor is described in the language of a model checking tool. At the second step, in the language of the model checking tool, we formulate the optimality property that depends on the constructed model. At the third step, we find the optimal values of the tuning parameters by using a counterexample constructed during the verification of the optimality property. In the fourth step, we extract the information about the tuning parameters from the counter-example for the optimal parameters. We apply this approach to autotuning parallel programs written in OpenCL, a popular modern language that extends the C language for programming both standard multi-core processors (CPUs) and massively parallel graphics processing units (GPUs). As a verification tool, we use the SPIN verifier and its model representation language Promela, whose formal semantics is good for modelling the execution of parallel programs on processors with different architectures
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π΄Π»Ρ BDI-Π°Π³Π΅Π½ΡΠΎΠ², ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° Π·Π½Π°Π½ΠΈΡΡ
Multiagent algorithm is a knowledge-based distributed algorithm that solves some problems by means of cooperative work of agents. From an individual agent's perspective, a multiagent algorithm is a reactive and proactive knowledge/believe-based rational algorithm aimed to achieve an agent's own desires. In the paper we study a couple of knowledge-based multiagent algorithms. One particular algorithm is for a system consisting of agents that arrive one by one (in a non-deterministic order) to a resource center to rent (for a while) one of available desired resources. Available resources are passive, they form a cloud; each of the available resources is lent on demand if there is no race for this resource and returns to the cloud after use. Agents also form a cloud but leave the cloud immediately when they rent a desired resource. The problem is to design a knowledge-based multiagent algorithm, which allows each arriving agent eventually to rent some of desired resources (without race for these resources).ΠΡΠ»ΡΡΠΈΠ°Π³Π΅Π½ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ β ΡΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Π·Π½Π°Π½ΠΈΡΡ
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΡΠ°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π°Π³Π΅Π½ΡΠΎΠ². BDI-Π°Π³Π΅Π½Ρ β ΡΡΠΎ Π°Π³Π΅Π½Ρ, ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΠΉ ΡΠ±Π΅ΠΆΠ΄Π΅Π½ΠΈΡΠΌΠΈ (Belief), ΠΆΠ΅Π»Π°Π½ΠΈΡΠΌΠΈ (Desire) ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ (Intention). Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ Π°Π³Π΅Π½ΡΠ°, ΠΌΡΠ»ΡΡΠΈΠ°Π³Π΅Π½ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ β ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° Π΅Π³ΠΎ Π·Π½Π°Π½ΠΈΡΡ
ΠΈ ΡΠ±Π΅ΠΆΠ΄Π΅Π½ΠΈΡΡ
, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΠΉ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ. ΠΡ ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠ°ΠΊΠΆΠ΅, ΡΡΠΎ Π°Π³Π΅Π½ΡΡ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½Ρ, ΠΏΡΠΎΠ°ΠΊΡΠΈΠ²Π½Ρ ΠΈ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½Ρ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΈ ΠΈΠ·ΡΡΠ°Π΅ΠΌ Π΄Π²Π° ΠΌΡΠ»ΡΡΠΈΠ°Π³Π΅Π½ΡΠ½ΡΡ
Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° Π·Π½Π°Π½ΠΈΡΡ
. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΌΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΌΡΠ»ΡΡΠΈΠ°Π³Π΅Π½ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ Π°ΡΠ΅Π½Π΄Ρ ΡΠ΅ΡΡΡΡΠΎΠ². Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π°Π³Π΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ±ΡΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π² ΡΠ΅ΡΡΡΡΠ½ΡΠΉ ΡΠ΅Π½ΡΡ, ΡΡΠΎΠ±Ρ Π°ΡΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ². ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΏΠ°ΡΡΠΈΠ²Π½Ρ, ΠΎΠ½ΠΈ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΠΎΠ±Π»Π°ΠΊΠΎ. ΠΡΠ»ΠΈ Π·Π° ΡΠ΅ΡΡΡΡ Π½Π΅Ρ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ, ΡΠΎ ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΠΎΠ±Π»Π°ΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ³Π΅Π½ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΠΎΠ±Π»Π°ΠΊΠΎ, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π°ΡΠ΅Π½Π΄ΡΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅ΡΡΡΡ, ΡΠΎ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΠΊΠΈΠ΄Π°ΡΡ ΡΠ΅ΡΡΡΡΠ½ΡΠΉ ΡΠ΅Π½ΡΡ. ΠΠ°Π΄Π°ΡΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΡΠ»ΡΡΠΈΠ°Π³Π΅Π½ΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° Π·Π½Π°Π½ΠΈΡΡ
, ΠΎΠ±Π»Π°Π΄Π°ΡΡΠ΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ: ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΈΠ±ΡΠ²Π°ΡΡΠΈΠΉ Π² ΡΠ΅ΡΡΡΡΠ½ΡΠΉ ΡΠ΅Π½ΡΡ Π°Π³Π΅Π½Ρ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π°ΡΠ΅Π½Π΄ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ² Π±Π΅Π· ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ Π·Π° ΡΡΠΎΡ ΡΠ΅ΡΡΡΡ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ
ΠΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ Π°Π²ΡΠΎΠ½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ
The paper presents a new approach to autotuning data-parallel programs. Autotuning is a search for optimal program settings which maximize its performance. The novelty of the approach lies in the use of the model checking method to find the optimal tuning parameters by the method of counterexamples. In our work, we abstract from specific programs and specific processors by defining their representative abstract patterns. Our method of counterexamples implements the following four steps. At the first step, an execution model of an abstract program on an abstract processor is described in the language of a model checking tool. At the second step, in the language of the model checking tool, we formulate the optimality property that depends on the constructed model. At the third step, we find the optimal values of the tuning parameters by using a counterexample constructed during the verification of the optimality property. In the fourth step, we extract the information about the tuning parameters from the counter-example for the optimal parameters. We apply this approach to autotuning parallel programs written in OpenCL, a popular modern language that extends the C language for programming both standard multi-core processors (CPUs) and massively parallel graphics processing units (GPUs). As a verification tool, we use the SPIN verifier and its model representation language Promela, whose formal semantics is good for modelling the execution of parallel programs on processors with different architectures.Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ Π°Π²ΡΠΎΠ½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΏΠΎ Π΄Π°Π½Π½ΡΠΌ. ΠΠ²ΡΠΎΠ½Π°ΡΡΡΠΎΠΉΠΊΠ° -- ΡΡΠΎ ΠΏΠΎΠΈΡΠΊ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΡΡ
Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ. ΠΠΎΠ²ΠΈΠ·Π½Π° ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π° ΡΠΎΡΡΠΎΠΈΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΡΡΠΏΡΠΈΠΌΠ΅ΡΠΎΠ². Π Π½Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΡ Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΠ΅ΠΌΡΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², Π·Π°Π΄Π°Π²Π°Ρ ΠΈΡ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠΎΠ½ΡΡΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠ΅ΡΡΡΡΡ
ΡΠ°Π³ΠΎΠ². ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π³Π΅ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π·Π°Π΄Π°ΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅. ΠΠ° Π²ΡΠΎΡΠΎΠΌ ΡΠ°Π³Π΅ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΡΠΎΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΡΡΠΈ, Π·Π°Π²ΠΈΡΡΡΠ΅Π΅ ΠΎΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠ° ΡΡΠ΅ΡΡΠ΅ΠΌ ΡΠ°Π³Π΅ ΠΏΠΎΠ΄Π±ΠΈΡΠ°Π΅ΠΌ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΡ
Π² Ρ
ΠΎΠ΄Π΅ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ° ΡΠ΅ΡΠ²ΡΡΡΠΎΠΌ ΡΠ°Π³Π΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ
Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ Π°Π²ΡΠΎΠ½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
Π½Π° ΡΠ·ΡΠΊΠ΅ OpenCL -- ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΡΠ·ΡΠΊ C Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΡ
ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄Π΅ΡΠ½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² (CPU), ΡΠ°ΠΊ ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π½ΠΎ-ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² (GPU). Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ SPIN ΠΈ Π΅Π³ΠΎ ΡΠ·ΡΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Promela, ΡΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ
Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ
New hybrid materials on the basis of magnetite and magnetite-gold nanoparticles for biomedical application
During last decades magnetite nanoparticles (NPs) attract a deep interest of scientists due to their potential application in therapy and diagnostics. However, magnetite nanoparticles are toxic and non-stable in physiological conditions. To solve these problems, we decided to create two types of hybrid systems based on magnetite and gold which is inert and biocompatible: gold as a shell material (first type) and gold as separate NPs interfacially bond to magnetite NPs (second type). An additional advantage of gold is the possibility of its functionalization with a variety of sulphur-containing ligands; that is very important for drug delivery and creating of tissue-specific MRI contrast agents.
The synthesis of the first type hybrid nanoparticles was carried out as follows: magnetite nanoparticles with an average diameter of 9Β±2 nm were obtained by co-precipitation of iron (II, III) chlorides then they were covered with gold shell by iterative reduction of hydrogen tetrachloroaurate with hydroxylamine hydrochloride. According to the TEM, ICP MS and EDX data, final nanoparticles had an average diameter of 31Β±4 nm and contained iron even after hydrochloric acid treatment. However, iron signals (K-line, 7,1 keV) were not localized so we canβt speak about one single magnetic core. Described nanoparticles covered with mercapto-PEG acid were non-toxic for human prostate cancer PC-3/ LNCaP cell lines (more than 90% survived cells as compared to control) and had high R2-relaxivity rates (\u3e190 mΠ-1s-1) that exceed the transverse relaxation rate of commercial MRI-contrasting agents. These nanoparticles were also used for chymotrypsin enzyme immobilization. The effect of alternating magnetic field on catalytic properties of chymotrypsin immobilized on magnetite nanoparticles, notably the slowdown of catalyzed reaction at the level of 35-40 % was found. The most probable reason for the observed effect is the change of active centers topology on the enzyme surface as a result of its deformation under applied forces.
The synthesis of the second type hybrid nanoparticles also involved two steps. Firstly, spherical gold nanoparticles with an average diameter of 9Β±2 nm were synthesized by the reduction of hydrogen tetrachloroaurate with oleylamine; secondly, they were used as seeds during magnetite synthesis by thermal decomposition of iron pentacarbonyl in octadecene. As a result, so-called dumbbell-like structures were obtained where magnetite (cubes with 25Β±6 nm diagonal) and gold nanoparticles were connected together pairwise. By HRTEM method (first time for this type of structure) an epitaxial growth of magnetite nanoparticles on gold surface with co-orientation of (111) planes was discovered. These nanoparticles were transferred into water by means of block-copolymer Pluronic F127 then loaded with anti-cancer drug doxorubicin and also PSMA-vector specific for LNCaP cell line. Obtained nanoparticles were found to have moderate toxicity for human prostate cancer cells and got into the intracellular space after 45 minutes of incubation (according to fluorescence microscopy data). These materials are also perspective from MRI point of view (R2-relaxivity rates \u3e70 mΠ-1s-1).
Thereby, in this work magnetite-gold hybrid nanoparticles, which have a strong potential for biomedical application, particularly in targeted drug delivery and magnetic resonance imaging, were synthesized and characterized. That paves the way to the development of new medicine types β theranostics.
The authors knowledge financial support from Ministry of Education and Science of the Russian Federation (14.607.21.0132, RFMEFI60715X0132). This work was also supported by Grant of Ministry of Education and Science of the Russian Federation Π1-2014-022, Grant of Russian Scientific Foundation 14-13-00731 and MSU development program 5.13
Mathematical Modelling of the Parameters of Braided Textile Tapes
Braided textile materials are widely used in many industries and agriculture. Braided tapes are used for domestic purposes, in the food industry, in construction, in medicine, in aircraft manufacturing, in electrical engineering, etc. Every braided product must correspond to a unique group of parameters and properties, depending on the initial manufacturing parameters. The production of braided tapes is still insufficiently explored. In the process of designing and manufacturing products with specified parameters, it is necessary to substantiate the formation of braided products. The manufacture of products with specific parameters and properties, and the creation of rational technological modes for that production represent urgent scientific issues to be addressed. One way to solve this problem is to conduct factorial experiments. This article thus presents the results of a factorial experiment, during which the following input parameters were determined based on preliminary studies: type of raw material, the linear density of raw materials and speed of removal of the product from the formation zone. The following were chosen as output parameters: breaking load, breaking elongation, the linear density of tapes, product width and the number of strands per 10 mm. The limits of factor variation were determined for four types of raw materials. Based on the results of the processing of the obtained experimental data, linear mathematical models were developed. The results of the verification of mathematical models indicated that they adequately describe the process of braiding tapes within the intervals determined by the conditions of the experiment. We thus established a connection between the factors of the braiding process and the properties of braided tapes
poST
Publisher Copyright: AuthorThis paper presents the core concepts for the poST language - a process-oriented extension of the IEC 61131-3 Structured Text (ST) language which intends to provide a conceptual consistency of the PLC source code with technological description of the plant operating procedure. The poST can be seamlessly used as a textual programming language for complex PLC software in the context of IEC 61131-3 (3rd Edition). The language combines the advantages of FSM-based programming with the conventional syntax of the ST language which would facilitate its adoption. The poST language assumes that a poST-program is a set of weakly connected concurrent processes, structurally and functionally corresponding to the technological description of the plant. Each process is specified by a sequential set of states. The states are specified by a set of the ST constructs, extended by TIMEOUT operation, SET STATE operation, and START / STOP / check state operations to communicate with other processes. The paper describes the basic syntax of the poST language, demonstrates the usage of the poST language by developing control software for an elevator, and compares the development in poST with pure Structured Text.Peer reviewe
ΠΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
This paper presents the ontology of the concurrent processes close to Hoare communicating sequential processes. It is the part of the intellectual system for supporting verification of behavioural properties of these processes. Our ontological representation of the processes is oriented both to the application of formal verification methods and to the extraction of information from technical documentation (by our previously developed system of information extraction from a natural language text). We describe the ontology classes and domains that define communicating concurrent processes. These processes are characterized by sets of local and shared variables, a list of actions on these variables which change their values, a list of channels for the process communication (which, in turn, are characterized by the type of reading messages, capacity, ways of writing and reading, and reliability), and also a list of communication actions for sending messages. In addition to the formal mathematical definition of classes and domains of the ontology, examples of descriptions of some ontological classes as well as typical properties and axioms for them are specified in the editor Prot Μeg Μe in the OWL language with the use of the inference rules in the SWRL language. The formal operational semantics of communicating processes is determined on their ontological representation and is given as a labelled transition system. It is reduced to the local operational semantics of separate process instances in the interleaving model. We specialize several types of processes from the subject domain of automatic control systems that model the typical functional elements of the automatic control system (sensors, comparators and regulators) as well as their combinations. The concepts of the specialized ontology are illustrated by the example of a control part for a bottle-filling system.Π ΡΡΠ°ΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π±Π»ΠΈΠ·ΠΊΠΈΡ
Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ Π₯ΠΎΠ°ΡΠ°. ΠΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠ°ΡΠ΅ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ Π½Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ°ΠΊ ΠΈ Π½Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ (Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΡΠ΅ΠΉ ΡΠ°Π½Π΅Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ² Π½Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅). ΠΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΊΠ»Π°ΡΡΡ ΠΈ Π΄ΠΎΠΌΠ΅Π½Ρ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ. ΠΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°ΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΡΠΏΠΈΡΠΊΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π½Π°Π΄ ΡΡΠΈΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΊΠ°Π½Π°Π»ΠΎΠ² Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² (ΠΊΠΎΡΠΎΡΡΠ΅, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡΡΡ ΡΠΈΠΏΠΎΠΌ ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π΅ΠΌΠΊΠΎΡΡΡΡ, ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡΡ), ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΊΠ»Π°ΡΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏΠΎΠ²ΡΡ
ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ Π°ΠΊΡΠΈΠΎΠΌ Π΄Π»Ρ Π½ΠΈΡ
Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Prot Μeg Μe Π½Π° ΡΠ·ΡΠΊΠ΅ OWL Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ» Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠ·ΡΠΊΠ΅ SWRL. ΠΠ»Ρ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΡ
ΡΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π΄Π°Π΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΎΠ². Π ΠΈΠ½ΡΠ΅ΡΠ»ΠΈΠ²ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ½Π° ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΈΠΏΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈΠ· ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΡΡΠΈΡ
ΡΠΈΠΏΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (Π΄Π°ΡΡΠΈΠΊΠΈ, ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΡΠ΅Π³ΡΠ»ΠΈΡΡΡΡΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡ
ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ. ΠΠΎΠ½ΡΡΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡΡΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΎΠ·Π»ΠΈΠ²Π° Π±ΡΡΡΠ»ΠΎΠΊ
Temporal Logic for Programmable Logic Controllers
We address the formal verification of the control software of critical systems, i.e., ensuring the absence of design errors in a system with respect to requirements. Control systems are usually based on industrial controllers, also known as Programmable Logic Controllers (PLCs). A specific feature of a PLC is a scan cycle: 1) the inputs are read, 2) the PLC states change, and 3) the outputs are written. Therefore, in order to formally verify PLC, e.g., by model checking, it is necessary to describe the transition system taking into account this specificity and reason both in terms of state transitions within a cycle and in terms of larger state transitions according to the scan-cyclic semantics. We propose a formal PLC model as a hyperprocess transition system and temporal cycle-LTL logic based on LTL logic for formulating PLC property. A feature of the cycle-LTL logic is the possibility of viewing the scan cycle in two ways: as the effect of the environment (in particular, the control object) on the control system and as the effect of the control system on the environment. For both cases we introduce modified LTL temporal operators. We also define special modified LTL temporal operators to specify inside properties of scan cycles. We describe the translation of formulas of cycle-LTL into formulas of LTL, and prove its correctness. This implies the possibility ofmodel checking requirements expressed in logic cycle-LTL, by using well-known model checking tools with LTL as specification logic, e.g., Spin. We give the illustrative examples of requirements expressed in the cycle-LTL logic
ΠΠ΅ΡΠΎΠ΄Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
User-friendly formal specifications and verification of parallel and distributed systems from various subject fields, such as automatic control, telecommunications, business processes, are active research topics due to its practical significance. In this paper, we present methods for the development of verification-oriented domain-specific process ontologies which are used to describe parallel and distributed systems of subject fields. One of the advantages of such ontologies is their formal semantics which make possible formal verification of the described systems. Our method is based on the abstract verification-oriented process ontology. We use two methods of specialization of the abstract process ontology. The declarative method uses the specialization of the classes of the original ontology, introduction of new declarative classes, as well as use of new axioms system, which restrict the classes and relations of the abstract ontology. The constructive method uses semantic markup and pattern matching techniques to link sublect fields with classes of the abstract process ontology. We provide detailed ontological specifications for these techniques. Our methods preserve the formal semantics of the original process ontology and, therefore, the possibility of applying formal verification methods to the specializedΒ process ontologies. We show that the constructive method is a refinement of the declarative method. The construction of ontology of the typical elements of automatic control systems illustrates our methods: we develop a declarative description of the classes and restrictions for the specialized ontology in the ProtΒ΄egΒ΄e system in the OWL language using the deriving rules written in the SWRL language and we construct the system of semantic markup templates which implements typical elements of automatic control systems.Π£Π΄ΠΎΠ±Π½Π°Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ
ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΡΠΌ ΠΎΠ±Π»Π°ΡΡΡΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ΡΠΈΡΡΠ΅ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠ΅Π»Π΅ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ, Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΠ²Π»ΡΡΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ ΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ Π² ΡΠΈΠ»Ρ ΠΈΡ
ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π½Π°ΡΠΈΠΌΠΎΡΡΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π½Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΡΡ
ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΡΠ°ΠΊΠΈΡ
ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡ
ΡΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π΅Π»Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ. ΠΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π²Π²Π΅Π΄Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ
Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π°ΠΊΡΠΈΠΎΠΌ Π·Π°Π΄Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Ρ
Π½ΠΈΠΊΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ ΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°ΡΡ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΡ Π΄Π°ΡΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΠΈΡ
ΡΠ΅Ρ
Π½ΠΈΠΊ. ΠΠ°ΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΎΡΠ½Π΅Π½ΠΈΠ΅ΠΌ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠΈΠΏΠΎΠ²ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ Π½Π°ΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ: ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ½ΡΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Protege Π½Π° ΡΠ·ΡΠΊΠ΅ OWL Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ» Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠ·ΡΠΊΠ΅ SWRL ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠΈΠΏΠΎΠ²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ